package com.jyy.prefabricated.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.jyy.prefabricated.entity.*;
import com.jyy.prefabricated.enums.BaseTeamEnum;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;

@Data
public class CoursePackageQuizVo {


    private static final long serialVersionUID = 1L;

    private Integer id;

    /**
     * 课程分类
     */
    private Integer categoryId;

    /**
     * 板块分类
     */
    private Integer plateId;
    /**
     * 课程包名称
     */
    private String courseName;

    /**
     * 原价
     */
    private BigDecimal listPrice;

    /**
     * 售价
     */
    private BigDecimal price;

    /**
     * 学时
     */
    private Integer classHours;

    /**
     * 学习人数
     */
    private Integer studyCount;

    /**
     * 可分配数量
     */
    private Integer distributionNum;

    /**
     * 封面
     */
    private String pic;

    /**
     * 状态
     */
    private Integer status;

    /**
     * 简介
     */
    private String content;

    /**
     * 文档课程
     */
    private List<Course> documentCourses = new ArrayList<>();

    /**
     * 录播课程
     */
    private List<Course> recordingCourses = new ArrayList<>();

    /**
     * 关联题库
     */
    private List<QuestionBank> questionBanks = new ArrayList<>();

    /**
     * 关联考试
     */
    private List<Exam> examPapers = new ArrayList<>();

    /**
     * 关联练习
     */
    private List<ExamPaper> practices = new ArrayList<>();

    /**
     * 关联课程包
     */
    private List<CoursePackage> coursePackages = new ArrayList<>();

    /**
     * 课程数量
     */
    private Integer courseCount;

    /**
     * 是否置顶
     */
    private Boolean top;

    private Boolean recommend;
    /**
     * 是否逻辑删除
     */
    private Boolean deleted = false;

    /**
     * 租户编码
     */
    private String teamCode = BaseTeamEnum.BASE.getValue();

    /**
     * 课程包级别
     */
    private Integer rank;
    private Integer zjNum;

    private Integer ygkzj;
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date createTime;

    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date updateTime;

    private List<CoursePackage> children = new ArrayList<>();

    private List<Map> gkjd;
    /**
     * 资源id
     */
    private String resourceId;

    /**
     * 小鹅通视频链接路径
     */
    private String xiaoeUrl;

    /**
     * 排序值
     */
    private Integer sort;

    /**
     * 及格分数
     */
    private  Double passGrade;

    /**
     * 试卷区域
     */
    private List<ExamPaperArea> areas = new ArrayList<>();


    /**
     * 随堂考状态(4未开始，1进行中，3已完成）
     */
    private Integer studentQuizStatus;

    /**
     * 随堂考分数
     */
    private Double grade;

    /**
     * 订单id
     */
    private Integer orderId ;



}
